package com.kookapi;

import com.kookapi.common.utils.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.boot.autoconfigure.web.ServerProperties;
import org.springframework.context.ConfigurableApplicationContext;

/**
 * 启动程序
 * 
 * @author ruoyi
 */
@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
public class KookApiApplication
{
    // 日志对象
    private static final Logger logger = LoggerFactory.getLogger(KookApiApplication.class);
    public static void main(String[] args)
    {
        // 应用程序上下文
        ConfigurableApplicationContext context = SpringApplication.run(KookApiApplication.class, args);
        // 配置信息（对应yml文件中的【开发环境配置】）
        ServerProperties serverProperties = context.getBean(ServerProperties.class);
        // 端口
        Integer port = serverProperties.getPort();
        // ServerProperties的静态内部类对应yml文件中的【开发环境配置】下的【servlet】部分
        ServerProperties.Servlet servlet = serverProperties.getServlet();
        // 上下文路径
        String contextPath = servlet.getContextPath();
        // 拼接后台基础访问路径
        String urlSuffix = StringUtils.isBlank(contextPath) ? String.valueOf(port) : port + contextPath;
        logger.info("服务启动成功，后台接口基础路径：http://localhost:{}", urlSuffix);
    }
}
